
using System;
using Abp.Application.Services;
using Abp.Application.Services.Dto;

using System.Collections.Generic;
using System.Threading.Tasks;
using WebApp.Navigations.Dtos;
using WebApp.Navigations;



namespace WebApp.Navigations
{
    /// <summary>
    /// 应用层服务的接口方法
    ///</summary>
    public interface IMenuElementAppService : IApplicationService
    {
        /// <summary>
		/// 获取的分页列表集合
		///</summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedResultDto<MenuElementListDto>> GetPaged(GetMenuElementsInput input);

  

        /// <summary>
        /// 通过指定id获取ListDto信息
        /// </summary>
        Task<MenuElementListDto> GetById(EntityDto<Guid> input);


        /// <summary>
        /// 返回实体的EditDto
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<GetMenuElementForEditOutput> GetForEdit(NullableIdDto<Guid> input);


        /// <summary>
        /// 添加或者修改的公共方法
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task CreateOrUpdate(CreateOrUpdateMenuElementInput input);
         Task<MenuElementEditDto> Create(MenuElementEditDto input);
        Task Update(MenuElementEditDto input);

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task Delete(EntityDto<Guid> input);

		
        /// <summary>
        /// 批量删除
        /// </summary>
        Task BatchDelete(List<Guid> input);



        //// custom codes

        Task<List<UiMenuBtuPidArrDto>> getAllUiMenuEle();

                            //// custom codes end
    }
}
